/*******************************************************************************
 * Owlets Framework
 * Copyright 2011 Logicfish Software http://logicfishsoftware.com/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License
 * 
 * @author logicfish@gmail.com
 *
 ******************************************************************************/

package com.logicfishsoftware.owlet.app;


/**
 * Adapter pattern for {@link Application} derived types.
 * This was necessary because java generics rules prevent us from inheriting
 * from {@link Application} with multiple erasures.  This type gives us another
 * shot, so we can now two extension to @link Application} classes instead of one 
 * (at the expense of adding an extra method).  Note: maybe it's possible to fix
 * this using ellipsis or some obscure syntax.
 * 
 * @author logicfish@gmail.com
 *
 */
//public interface ApplyTo<T extends Application<U>,U> {
//	T getApplication();
//}
public interface ApplyTo {
<T> Application<T> apply(Class<T> cla);
}
